headerbar: Switch css positions on direction change
authorBenjamin Otte <otte@redhat.com>
Fri, 17 Jul 2015 15:50:25 +0000 (17:50 +0200)
committerBenjamin Otte <otte@redhat.com>
Fri, 17 Jul 2015 17:13:09 +0000 (19:13 +0200)
gtk/gtkheaderbar.c

index deca8bb9aa951ed20da2f1c132f42f2e85655343..21f8fd9372a3ebde1488a3db9fb33fa7c63323d6 100644 (file)
@@ -1809,6 +1809,15 @@ gtk_header_bar_hierarchy_changed (GtkWidget *widget,
                             G_CALLBACK (window_state_changed), widget);
 }
 
+static void
+gtk_header_bar_direction_changed (GtkWidget        *widget,
+                                  GtkTextDirection  previous_direction)
+{
+  GTK_WIDGET_CLASS (gtk_header_bar_parent_class)->direction_changed (widget, previous_direction);
+
+  gtk_css_node_reverse_children (gtk_widget_get_css_node (widget));
+}
+
 static void
 gtk_header_bar_class_init (GtkHeaderBarClass *class)
 {
@@ -1829,6 +1838,7 @@ gtk_header_bar_class_init (GtkHeaderBarClass *class)
   widget_class->realize = gtk_header_bar_realize;
   widget_class->unrealize = gtk_header_bar_unrealize;
   widget_class->hierarchy_changed = gtk_header_bar_hierarchy_changed;
+  widget_class->direction_changed = gtk_header_bar_direction_changed;
 
   container_class->add = gtk_header_bar_add;
   container_class->remove = gtk_header_bar_remove;